package com.ruoyi.web.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 医生对象 doctor
 *
 * @author why
 * @date 2025-05-13
 */
@ApiModel("医生")
public class Doctor extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ApiModelProperty("")
    private Long id;

    /**
     * 医生名称
     */
    @Excel(name = "医生名称")
    @ApiModelProperty("医生名称")
    private String doctorName;

    /**
     * 医生英文名称
     */
    @Excel(name = "医生英文名称")
    @ApiModelProperty("医生英文名称")
    private String doctorEnglishName;

    @Excel(name = "医生日文名称")
    private String doctorJapaneseName;

    /**
     * 医院ID
     */
    @Excel(name = "医院ID")
    @ApiModelProperty("医院ID")
    private Long hospitalId;

    /**
     * TDK-T
     */
    @Excel(name = "标题")
    @ApiModelProperty("TDK-T")
    private String title;

    /**
     * TDK-D
     */
    @Excel(name = "摘要")
    @ApiModelProperty("TDK-D")
    private String description;

    /**
     * TDK-K
     */
    @Excel(name = "关键词")
    @ApiModelProperty("TDK-K")
    private String keywords;

    /**
     * 医生图片路径
     */
//    @Excel(name = "医生图片路径")
    @ApiModelProperty("医生图片路径")
    private String doctorImgPath;

    /**
     * 医生介绍(富文本)
     */
//    @Excel(name = "医生介绍(富文本)")
    @ApiModelProperty("医生介绍(富文本)")
    private String content;

    @ApiModelProperty("医生简介(多行文本)")
    private String doctorIntroduce;

    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称")
    @ApiModelProperty("创建人名称")
    private String createName;

    /**
     * 更新人名称
     */
    @Excel(name = "更新人名称")
    @ApiModelProperty("更新人名称")
    private String updateName;

    /**
     * 是否删除（0否；1是）
     */
    @ApiModelProperty("是否删除（0否；1是）")
    private String delFlag;

    /*
    * 医生所关联疾病表
    * */
    private List<DoctorDisease> doctorDiseases;

    /*
    * 医生关联疾病详情
    * */
    private List<JapanDisease> japanDiseases;

    /*
    * 医生关联医院
    * */
    private Hospital hospital;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public String getDoctorName() {
        return doctorName;
    }

    public String getDoctorEnglishName() {
        return doctorEnglishName;
    }

    public void setDoctorEnglishName(String doctorEnglishName) {
        this.doctorEnglishName = doctorEnglishName;
    }

    public void setHospitalId(Long hospitalId) {
        this.hospitalId = hospitalId;
    }

    public Long getHospitalId() {
        return hospitalId;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setDoctorImgPath(String doctorImgPath) {
        this.doctorImgPath = doctorImgPath;
    }

    public String getDoctorImgPath() {
        return doctorImgPath;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getCreateName() {
        return createName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public List<DoctorDisease> getDoctorDiseases() {
        return doctorDiseases;
    }

    public void setDoctorDiseases(List<DoctorDisease> doctorDiseases) {
        this.doctorDiseases = doctorDiseases;
    }

    public String getDoctorIntroduce() {
        return doctorIntroduce;
    }

    public void setDoctorIntroduce(String doctorIntroduce) {
        this.doctorIntroduce = doctorIntroduce;
    }

    public Hospital getHospital() {
        return hospital;
    }

    public void setHospital(Hospital hospital) {
        this.hospital = hospital;
    }

    public List<JapanDisease> getJapanDiseases() {
        return japanDiseases;
    }

    public void setJapanDiseases(List<JapanDisease> japanDiseases) {
        this.japanDiseases = japanDiseases;
    }

    public String getDoctorJapaneseName() {
        return doctorJapaneseName;
    }

    public void setDoctorJapaneseName(String doctorJapaneseName) {
        this.doctorJapaneseName = doctorJapaneseName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("doctorName", getDoctorName())
                .append("hospitalId", getHospitalId())
                .append("title", getTitle())
                .append("description", getDescription())
                .append("keywords", getKeywords())
                .append("doctorImgPath", getDoctorImgPath())
                .append("content", getContent())
                .append("createBy", getCreateBy())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateName", getUpdateName())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
